SQL
SQL Nedir?
Sql bir şirkette veya herhangi bir kurumda müşterilerin – kullanıcıların bir takım bilgilerinin bulunduğu hatta bir sunucu içerisinde birden fazla da bulunduğu veri tabanıdır(database). Veri tabanı içersinde kullanıcılara ait kimlik bilgileri, kullanıcı adı şifre gibi birçok bilgi bulunmaktadır. Veri tabanlarının 10 dan fazla çeşidi vardır. Bu çeşitlilikler genelde aynı amaç içindir fakat çalıştığı işletim sistemi gibi çeşitliliklere göre uyarlanmıştır. Kodlamasına örnek vermek gerekirse bir veri tabanı kodunda bi kodun sonu ; ile kapanıyorken birinde # birinde – şeklinde kullanıldığını görmek mümkündür. Bu yüzden eğer aktif-pasif taramalarda bir sunucu hakkında bilgi edinemediysek veya çalıştığı veri tabanı hakkında bilgi edinemediysek test aşamasında parametreler denenmelidir. Bu güvenlik açığı etkisi kritik ve bir güvenlik açığı bulduğumuzda bunu nasıl sömüreceğimiz ve nasıl etkisiyle beraber raporlayacağımızı daha iyi anlamak adına phpmyadmin üzerinde temel komutları göreceğiz.
UPDATE KOMUTU
Kullanımı: UPDATE [tablo adı] SET [yeni bilgiler] WHERE [şartlar]
UPDATE komutu, veri tabanında bulunan verileri değiştirmek-güncellemek amacıyla kullanılan bir deyimdir.
Bu formata göre UPDATE komutundan sonra hangi veri tabanı tablosunda güncelleme yapmak istiyorsak o tablonun adını yazıyoruz. SET deyiminden sonra değiştirmek istediğimiz bilgileri giriyoruz. Son olarak WHERE ifadesinden sonra değiştirme işlemi yapacağımız kayıtlarla ilgili şartı veya şartları yazıyoruz. WHERE ifadesinin kullanımı zorunlu değildir, fakat WHERE kullanılmazsa bütün kayıtlar değiştirme işleminden etkilenecektir.
Örnekte de görüldüğü gibi Meryem ismini Fatma ismiyle değiştirdik.
DELETE KOMUTU
Kullanımı:
Delete Form [İşlem Yapılacak Dosya Adı] WHERE [Şartlar]
Delete Komutu tabloda bulunan verilerin bir kısmını silme işlevini görmektedir. Bu komutun kullanımında dikkat edilmesi gereken bir durum vardır. Seçilen satırları silmesi için Delete komutu kullanılırken şartı belirtmek oldukça önemlidir.
Seçilen satırları silme işleminde WHERE yan tümcesini bir DELETE sorgusuyla kullanılması ile şart belirtilmiş olur. Şart belirtilmeden yapılan işlem sonrasında tüm verilerin silinmesine neden olmaktadır.
ALTER TABLE KOMUTU
ALTER TABLE komutu; mevcut tabloya sütun eklemek, sütun silmek ya da mevcut sütunun yapısında değişiklik yapmak için kullanılır. Mevcut tabloya çeşitli kısıtlamalar eklemek ya da kısıtlamaları kaldırmak için de ALTER TABLE komutu kullanılır.
Yukarıda gördüğümüz gibi alter table komutu sayesinde randevu adlı tablomuza doktoradi adlı sütun ekledik.
Burada ise alter table komutu ile randevu adlı tablomuzdan bolumadi adlı sütununu sildik.
DROP TABLE KOMUTU
Kullanımı şu şekildedir: DROP TABLE tabloadi
DROP TABLE deyimi, bir tabloyu ve tabloya bağlı olan tüm yapıları (dizinler, tetikleyiciler, kısıtlamalar) kaldırmak için kullanılır.
Bu deyim kullanıldığında tablo ve içindeki veriler geri dönüşü olmayacak şekilde silinecektir.
Drop table komutu sayesinde randevu adlı tabloyu sildik.
CREATE VİEW KOMUTU
KULLANIM: CREATE VIEW isim [ sütunismi ] AS sorgu
CREATE VIEW bir sorgudan yeni bir sanal tablo tanımlar. Sanal tablo fiziken mevcut değildir. Her seferinde sorgu yeniden çalıştırılıp sanal tablo oluşturulur.
Yeni bir view oluşturmak istediğimizde, CREATE VİEW komutu ve View ismi yazılıp, sonrasında AS ifadesiyle View’da çalışmasını istediğimiz sorgu belirlenir. Böylece sorguyu çalıştırdığımızda yeni bir view oluşturmuş oluruz.
Aşağıdaki örnekte doktor tablosundan istediğimiz sütunları seçip örnek tablo isminde yeni view oluşturduk.
ALTER VİEW KOMUTU
View yapısında güncelleme gerçekleştirmek istendiğinde, ALTER ifadesi kullanılır. ALTER ifadesinden sonra, güncellenecek olan View ismi ve güncelleme sorgusu yazılır. Aşağıdaki örnekte oluşturduğumuz ornektablo view’ına istediğimiz sütunları ekleyip ornektablo view yapısını güncellemiş oluruz.
Görüldüğü gibi ornektablo adlı view’a bolumno atayarak güncelledik.
LIKE KOMUTU
LIKE komutu database içinde yer alan istenilen herhangi bir tabloda istenilen herhangi bir column içinde belirtilen ölçütler doğrultusunda arama yapar.
Aratılmak istenilen kelimenin başına, sonuna ya da her iki tarafına "%" işareti koyularak gerçekleştirilir.
Örneğin "a%" kullanım şekli "a" ile başlayan kayıtları getirir. "%a" ise "a" ile biten kayıtları getirir. Bir kelimenin sadece orta kısımlarını hatırlıyorsunuz diyelim.
Bu durumda örnek verirsek "%ilgi%" şeklinde bir arama yaparsak eğer kayıtlar arasında içinde "ilgi" sözcüğü geçen kayıtları getirir.
Like komutu sayesinde içinde gör harflerinin geçtiği hasta isimlerini listeledik.
DISTINCT KOMUTU
Kullanımı: SELECT DISTINCT kolon1, kolon2, FROM tablo_adi;
SQL select distinct komutu kullanımı select sorgusundan dönen aynı kayıtları tek kayda indirmek için kullanılır. Bazen sorgudan birden fazla aynı kayıt dönebilir böyle durumlarda distinct kullanırız.
Bölümü Genel Cerrahi olan kaç farklı doktor adlarını listeledik.
COUNT KOMUTU
Kullanımı: SELECT COUNT sütun adı FROM tablo adı
COUNT fonksiyonu, belirtilen ölçütlerle eşleşen satır sayısını döndürür.
Kısaca; veritabanındaki kayıtları sayabilmek için yerleşik COUNT fonksiyonunu kullanırız. Burada dikkat edilmesi gereken alan üzerindeki kayıt sayıları alınırken boş verilerin dikkate alınmamasıdır.
SELECT COUNT(alan_adi) FROM tablo: belirttiğimiz alandaki boş olanlar hariç kaç tane kayıt olduğunu elde ederiz.
SELECT COUNT(*) FROM tablo: tablomuzdaki toplam kayıt sayısını elde ederiz.
SELECT COUNT(DISTINCT alan_adi) FROM tablo: DISTNINCT kullanımında ise belirtilen alandaki tekrar eden kayıtlar sadece bir defa sayılır.
İÇ İÇE SELECT KOMUTU
Alt sorgular SQL içerisinde kullanılan SELECT sorgusunun özel bir türüdür. Veri tabanı tasarımı sırasında verilerin tekrarını önlemek amacıyla nesnelere parçalara ayrılır.
İç içe select komutu ile islemnosu en büyük olan hasta bilgilerini getirdik.
BETWEEN KOMUTU
Sql de between komutu genel kullanımı 2 tarih arasında bulunan kayıtları getirmek veya ilgili parametreye verdiğimiz 2 değer arasındaki kayıtları getirmek için kullanırız. Sql between kullanım şekli aşağıdaki gibidir:
Görüldüğü gibi randevu tarihi aralığına göre islem adlı tabloyu getirttik.
INNER JOIN KOMUTU
SQL inner join SQL Join türlerinden en çok kullanılan tablo birleştirme türüdür. SQL inner join iki veya daha fazla tablodaki ilişkili değerleri seçmek/birleştirmek için kullanılır. Özetle; SQL INNER JOIN ifadesi ortak değere sahip tabloları birleştirmek için kullanılır.
Örnekte de gördüğümüz gibi birbiriyle bağlantılı iki tablonun sütunlarından inner join komutu ile birleştirerek bir tablo yazdırdık.